home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / cd-sup / mpega / mpega.doc < prev    next >
Text File  |  1998-05-24  |  11KB  |  327 lines

  1. -------------------------------------------------------------------------------
  2.  
  3.                  MPEGA 3.1  (23-Jul-1997) (68020+) (GIFTWARE)
  4.  
  5. -------------------------------------------------------------------------------
  6.  
  7.  
  8. Distribution Conditions
  9. -----------------------
  10.  
  11.   This program is copyright (c) 1995-1997 by Stephane TAVENARD.
  12. It may be distributed freely under the condition that no profit is
  13. gained from its distribution, nor from any other program distributed
  14. in the same package.
  15.  
  16.   Permission is granted to distribute this package by Bulletin Board
  17. systems or network sites, under the condition that no fee is charged
  18. on downloading it.
  19.  
  20.   All files that are part of this package have to be distributed
  21. together and none of them may be changed in any way other than
  22. archiving or crunching.  The only exception to this rule are the
  23. icons, including the tooltypes, which may be changed to accommodate
  24. them to the rest of the disk it is distributed on.
  25.  
  26.   This program is distributed as freeware (and giftware).
  27.  
  28. Disclamer
  29. ---------
  30.  
  31.   This package is provided "as is" without warranty of any kind.
  32. The author assumes no responsibility or liability whatsoever
  33. for any damage or dataloss caused by using this package.
  34.  
  35.  
  36. Introduction
  37. ------------
  38.  
  39. What is MPEG audio ?
  40.  
  41. It's a very efficient audio compression standard. Actually, there is 3
  42. compression methods, named layer I, II & III. Layer III is more efficient
  43. than layer II, which is more efficient than layer I. But, more efficient
  44. means more complex.
  45. MPEG audio allows to compress a 16-bit PCM sound file from 1.2 to
  46. 32 times.
  47.  
  48. Why is it so hard to make a real time MPEG audio decoder ?
  49.  
  50. MPEG audio decoding requires a lot of arithmetic calculation, so a lot of CPU
  51. power is required. Normally, MPEG audio decoding is made with help of a DSP.
  52.  
  53.  
  54. History
  55. -------
  56.  
  57. V1.0    23-Jun-1995     First aminet release
  58. V1.1    09-Sep-1995     Added mixing audio output. For example, it can play at
  59.                         28000Hz a 11025Hz decoded stream (-d4 option).
  60. V1.2B   31-Jul-1996     68020..68040 and 68060 versions
  61.                         Buffer time can be set by user
  62.                         Can play half rate if private bit is set in mpeg stream
  63. V1.3    01-Nov-1996     Added MPEG2 low sampling frequencies
  64. V2.0    31-Mar-1997     Added Layer III !
  65. V2.1    02-Apr-1997     -x option now works (missing !)
  66. V2.2    05-Apr-1997     Corrected bug in MPEG I,II dequantization
  67.                         IMDCT now in pure asm
  68.                         Decoding Layer III is now 20% faster than V2.1
  69. V2.2B   06-Apr-1997     Added MPEG2.5 support
  70.                         Fixed bug in subband synthesis filter
  71. V2.3    11-Apr-1997     Optimized subband synthesis filter
  72.                         play audio as default (-s to silence)
  73.                         added priority option (-p)
  74. V2.4    19-Apr-1997     Optimized huffman decoding of Layer III
  75.                         Added AHI support (-I option)
  76.                         Use now async I/O for reading input file
  77.                         Improved multitasking capabilities
  78. V2.5    03-May-1997     Fixed bug for 48kHz & 24kHz streams
  79.                         Fixed bug in that swallows end of sound
  80.                         Added seek into stream (-S option)
  81.                         Use of AHI V4
  82.                         Fixed bug when stopping with Ctrl-C
  83.                         Re-enabled AIFF header (-A option)
  84.                         Added max decoding frequency (-F option)
  85. V2.6    16-May-1997     Added Time counter (-T option)
  86.                         Fixed small bug into IMDCT of layer III
  87.                         Fixed "Audio skipping" bug at start of play
  88. V2.7    18-May-1997     Optimized Subband synthesis (global gain = 20% on 060 !)
  89.                         Added synchronization tolerance (allows to read some incorrect bitstreams)
  90.                         No more crash if input stream is not MPEG Audio
  91. V2.8    24-May-1997     All output text info is now output to stdio instead of stderr
  92.                         Audio manager use now soft interrupts
  93. V2.9    29-May-1997     Added -w option to wait for audio buffer to be full before starting audio
  94.                         Added -b option to set the input file buffer size (default is 16KB)
  95.                         Gain of 6% for layer III decoding (on '060)
  96. V3.0    15-Jul-1997     FPU Version use now Optimized FPU routines (no more INTEGER calc.)
  97.                         -> FPU is slower than non FPU version, but provides more quality
  98.  
  99.                         Suppressed MPEG Audio header check (some streams have pb with it)
  100.                         Corrected bad lock when opening stream (MUFS files didn't work)
  101.                         New Huffman filling buffer (Decoding layer III is 5% faster on a 060)
  102.                         -a option to display audio buffer fill level (in secs)
  103.                         Audio buffer size can be more than 32 secs now
  104.                         Added WAVE output option (-W)
  105.                         Added Decoding parameters output option (-D)
  106.                         Faster dequantization & stereo process in layer III
  107.                         Play list as input file with -l option
  108.                         Output file can be specified with -o <file> option
  109.                         Added a config file (default is MPEGA:MPEGA.CFG, then MPEGA.CFG):
  110.                            - separate mpeg decoder options for Layer I&II and III, mono and stereo files
  111.                            - default options
  112.                         Added -C option to display current configuration
  113.                         Now time used is only displayed if -u option is set
  114.  
  115. V3.1    23-Jul-1997     Corrected WAVE Format (bug in size calc)
  116.                         Added -r option to disable Async I/O for input file (don't lock input file)
  117.                         Suppressed the need for an MPEGA: assign (sorry about this...)
  118.                         Read MPEGA.CFG now from ENV:, S:, PROGDIR:, and then current directory.
  119.                         Added -N option to display filename
  120.  
  121. Description
  122. -----------
  123.  
  124. You need at least a 68020 CPU to use it !
  125.  
  126. This is an highly optimized MPEG audio decoder. This one can decode MPEG audio
  127. standard streams, layer I, II & III. The output can be either a raw PCM file
  128. or AMIGA-builtin audio device (14-bit/cybersound/AHI).
  129.  
  130. How to use it
  131. -------------
  132.  
  133. Syntax: MPEGA [<options>] <MPEG Audio file> [<out pcm file>]
  134.  
  135. options are:
  136.  
  137. -d <freq_div>   frequency division: 1, 2 or 4
  138. -q <quality>    output quality: 0 (worst), 1 or 2 (best)
  139. -h              display header only
  140. -n              no frame counter
  141. -m              mono output (left channel)
  142. -p <pri>        process priority (-30..30)
  143. -I[<id>]        AHI output, <id> = Audio mode ID in hex (ex: -I20004)
  144. -s              silence (no audio output)
  145. -f 0|1          audio filter off/on (default = auto)
  146. -x <freq>       audio mixing frequency (default = none)
  147. -t <ms>         audio buffer time in ms (default = 1 sec)
  148. -v <vol>        audio volume (0..64 or 65..256 for boost)
  149. -w              wait for audio buffer to be full before starting audio
  150. -S <ms>         seek to time postion in stream (unit is ms)
  151. -A              write AIFF header to output file
  152. -W              write WAVE header to output file
  153. -F <freq_max>   max decoding frequency (auto freq_div)
  154. -T              display time counter instead of frame counter
  155. -b <k_size>     set the input file buffer size in KBytes (default = 16KB)
  156. -D              display decoding parameters
  157. -l              input file is a play list (text file)
  158. -o <out file>   output decoded file
  159. -c <cfg file>   configuration file (default = MPEGA.CFG)
  160. -C              display current configuration
  161. -u              display time used
  162. -N              Display filename
  163.  
  164. Play list
  165. ~~~~~~~~~
  166.  
  167. A play list is a text file, each line containing a filename (and its path).
  168.  
  169. Example:
  170.  
  171. ----- BEGIN OF playlist.txt -----
  172. mpega:films/PFICTION.MP3
  173. mpega:films/Blade_Runner/Blade_Runner_Blues.mp2
  174. mpega:Angra/Carolina_IV.mp2
  175. ------ END OF playlist.txt ------
  176.  
  177. -> 'mpega -l playlist.txt' will play all the files in this play list
  178.  
  179.  
  180. Config File
  181. ~~~~~~~~~~~
  182.  
  183. The default config file is 'MPEGA.CFG' loaded each time you start mpega.
  184. It try to read MPEGA.CFG from ENV:, S:, PROGDIR:, and then current directory.
  185.  
  186. You can specify an alternate config file with -c option.
  187.  
  188. A config file is a set of line options. The first 4 lines are used to
  189. configure the mpeg decoder according to the mpeg audio file type.
  190.  
  191. line option #  mpeg audio file type
  192.      1         Layer I or II, Mono
  193.      2         Layer III, Mono
  194.      3         Layer I or II, Stereo
  195.      4         Layer III, Stereo
  196.  
  197. On this first lines, only options -d, -q, -F and -m are allowed
  198.  
  199. The next lines are used as default options, as they were entered
  200. on the command line.
  201. Comment lines are blank lines or lines begining with #
  202.  
  203. Example of config file:
  204.  
  205. ----- BEGIN OF MPEGA.CFG -----
  206. # Config file for MPEGA
  207. #
  208. # WARNING You must not change the config lines order !
  209. #         option line is limited to 255 characters
  210. #
  211. # MPEG decoder options (allowed options: -d -q -F -m)
  212. #
  213. # Mono files:
  214. # Layers I & II
  215. -d1 -q2
  216. # Layers III
  217. -d2 -q1
  218. #
  219. # Stereo files:
  220. # Layers I & II
  221. -d1 -q1 -m
  222. # Layers III
  223. -q0 -F22050 -m
  224. #
  225. # Default options (all options allowed, may overwrite previous options)
  226. -u -T
  227. ------ END OF MPEGA.CFG ------
  228.  
  229.  
  230. Several version are available:
  231. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  232.  
  233. mpega.020       68020 or 68030 with or without FPU
  234. mpega.020FPU    68020 or 68030 + FPU
  235. mpega.040       68040 or 68060 with or without FPU
  236. mpega.040FPU    68040 or 68060 + FPU
  237.  
  238. *******************************************************************
  239. *****                                                         *****
  240. ***** USE NON FPU VERSION FOR MAXIMUM SPEED OR AUDIO PLAYBACK *****
  241. *****                                                         *****
  242. *******************************************************************
  243.  
  244. Examples:
  245.  
  246. playing sound without counter, priority of 10:
  247.  
  248.    mpega -p10 -n <mpeg file>
  249.  
  250. or with AHI:
  251.  
  252.    mode id requester:
  253.    mpega -p10 -n -I <mpeg file>
  254.  
  255.    mode id 20004:
  256.    mpega -p10 -n -I20004 <mpeg file>
  257.  
  258. playing on a pal screen (limit to 28Khz):
  259.  
  260.    mpega -x28000 <mpeg file>
  261.  
  262. creating an output pcm file without sound:
  263.  
  264.    mpega -s <mpeg file> <output pcm file>
  265.  
  266. creating an output AIFF file without sound:
  267.  
  268.    mpega -s -A <mpeg file> <output pcm file>
  269.  
  270.  
  271. Limit the decoding frequency to 22.05KHz
  272.  
  273.    mpega -F22050 <mpeg file>
  274.  
  275.  
  276. Speed
  277. -----
  278.  
  279. Today, MPEG layer III decoders are very rare on AMIGA
  280.  
  281. A little comparison with amp.0.7.2 on 68060/64 MHz:
  282.  
  283. Spot1-44S.96.mp3 (Stereo 44.1KHz 96kpbs layer III) of 10.9 sec
  284.  
  285. amp.040881   mpega:test/Spot1-44S.96.mp3 ram:out.pcm  -> 12.5 sec
  286. mpega.040    mpega:test/Spot1-44S.96.mp3 -s           ->  3.3 sec
  287.  
  288. Future
  289. ------
  290.  
  291. - Port of Layer III to 'SongPlayer' (aminet/mus/play)
  292.  
  293. - More speed !
  294.  
  295.  
  296. Copyrights
  297. ----------
  298.  
  299. AHI is Copyright ©1994-96 Martin Blom
  300.  
  301.  
  302.  
  303.  
  304. Thanks to my friend, AMIGA, the best computer ever made.
  305.  
  306.            / /
  307.           / /
  308.          / /
  309.    \ \  / /
  310.     \ \/ /
  311.      \/\/
  312.  
  313. Stéphane TAVENARD (ANGERS/France)
  314. Email: tavenard@xiii.univ-angers.fr (it's my brother Raphaël mail)
  315. IRC: Tatav
  316.  
  317. Send your gifts here :^)
  318.  
  319. Stéphane TAVENARD
  320. La Bezanière
  321. 49070 Saint Jean de Linières
  322. FRANCE
  323.  
  324. Nota from Raphaël: Because my E-mail account is very very short, please tell me before
  325.                    using an attachment :(
  326.  
  327.